#ifndef _OPTIMIZATION_OPTIM_TAC_HPP
#define _OPTIMIZATION_OPTIM_TAC_HPP

#include <inttypes.h>

struct TacProgram;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Three address code optimization

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Constant folding
// Unreachable code elimination
// Copy propagation
// Dead store elimination

void three_address_code_optimization(TacProgram* node, uint8_t optim_1_mask);

#endif
